package com.ldg.crm.util;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.sql.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 用于生产MBG的代码
 * Created by macro on 2020/10/20
 */
public class Generator {
    public static void main(String[] args) throws Exception {
        //MBG 执行过程中的警告信息
        List<String> warnings = new ArrayList<String>();
        //当生成的代码重复时，覆盖原代码
        boolean overwrite = true;
        //读取我们的 MBG 配置文件
        InputStream is = Generator.class.getResourceAsStream("/generatorConfig.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(is);
        is.close();

        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        //创建 MBG
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
        //执行生成代码
        myBatisGenerator.generate(null);
        //输出警告信息
        for (String warning : warnings) {
            System.out.println(warning);
        }
    }
//    public static Date getDateTime24String() throws Exception {
//    	SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd hh:mm:ss");    //格式化规则
//        Date d = new Date();        //获得你要处理的时间 Date型
//        String strDate= sdf.format(d.getTime() ); //格式化成yyyy-MM-dd格式的时间字符串
//		Date newDate = sdf.parse(strDate);
//		java.sql.Date resultDate = new java.sql.Date(newDate.getTime());//最后转换成 java.sql.Date类型数据就可以了 注意：最开始时间数据类型是 java.util.Date类型  
//        
//        return resultDate;
//    }
    public static String getSidLastSix(String sid) {
    	Pattern p = Pattern.compile("[0-9]+[X|x]{1}");
        Matcher m = p.matcher(sid);
        boolean b = m.matches();
        if(b){
        	sid = sid.substring(sid.length()-7,sid.length()-1); 
        }else{
        	sid = sid.substring(sid.length()-6);
        }
        return sid;
 
    }
}